This invention relates to bus mounted peripherals of computer systems such as personal computers and more particularly as to techniques for automatically configuring an adapter circuit card coupled to a bus of a computer system to respond to and with a computer system.
Computer adapter cards must be uniquely addressable across the computer bus for proper interaction between a bus master unit, such as a central processing unit (CPU), and the computer adapter. In a true bus architecture wherein all signal lines are parallel, a means must be provided for designating the unique address or so-called base address of each adapter. To this end, it is conventional to provide switches or jumpers on the adapter card for selecting the base address to which the adapter will respond. Software written to interact with the adapter and which operates on the CPU is instructed to expect an adapter at the base address selected for the adapter. In the past, such software, called drivers has not had the ability to select the configuration for the adapter.
All software drivers employ an initialization sequence which is executed at power-on or during power-on reset which includes information intended to establish communication between the CPU and any peripheral including an adapter. Since adapter cards of conventional design have a pre-selected address, there has been no need to provide instructions to the adapter as to a preferred base address.
There is nevertheless a need to be able to instruct adapters as to a preferred base address for each adapter card coupled to a bus which is independent of switches set on the adapter card.
Several solutions suggested in the past require a different architecture than a true bus, thus requiring a redesign of the bus architecture to eliminate true parallel bus structures. For example, the NuBus bus design promoted by Texas Instruments Incorporated of Dallas Tex. allocates a block of memory and therefore a specific address space for a plurality of potential adapters which can be coupled to the bus. Thus, the potential address space of the NuBus structure must be allocated to a specified number of adapters, which space has been set by design of the bus. As will be apparent, this design departs from the true parallel bus architecture.
Another so-called automatic adapter configuration technique employed in connection with the Micro Channel Architecture (MCA) promoted by IBM Corporation with certain of its personal computers and workstations. In the Micro Channel Architecture, one address line is provided as part of the setup for each slot for use in selecting a designated slot for a specific adapter. Under this scheme, each type of card is serialized and assigned a unique identifying code. The code assigned by IBM is made available to all third party adapter makers. Each card type is thus uniquely identified by slot position and adapter type ID code. In addition to these characteristics, the individual computers must be reconfigured with a set-up procedure each time any adapter card is added, removed or relocated on the bus.
What is needed is a technique for configuring a true parallel computer bus, without the requirement of switches, jumpers or the like and which can be implemented automatically with the driver software intended to cooperate with such adapters.